package com.utils;

import java.math.BigDecimal;

public class Utils {

    /**
     * 字符串转小数返回
     *
     * @param column
     * @param columnValue
     * @return
     */
    public static String addPoint(TemplateColumn column, String columnValue) {
        //数据长度校验
        if (columnValue.length() > column.getLenth()) {
            throw new IllegalArgumentException("数据长度超限");
        }

        int numberLen = column.getLenth();//获取小数位数

        //位数不够需要补位
        if (columnValue.length() <= numberLen) {
//            columnValue = StringUtils.leftPad(columnValue, numberLen + 1, "0");
        }

        return columnValue.substring(0, columnValue.length() - numberLen) + "." + columnValue.substring(columnValue.length() - numberLen);
    }

    /**
     * 去掉小数点转为字符串返回
     * 小数点后位数超限默认四舍五入的方式处理
     *
     * @param column
     * @param columnValue
     * @return
     */
    public static String remPoint(TemplateColumn column, String columnValue) {

        int numFormat = column.getNumFormat();

        //对小数进行四舍五入
        BigDecimal bigDecimal = new BigDecimal(columnValue);
        columnValue = bigDecimal.setScale(numFormat, BigDecimal.ROUND_HALF_UP).toString();

        int valuelen = columnValue.length();
        //数据长度校验
        if (valuelen - 1 > column.getLenth()) {
            throw new IllegalArgumentException("数据长度超限");
        }

        return columnValue.substring(0, valuelen - numFormat - 1) + columnValue.substring(valuelen - valuelen);
    }
}
